package com.strange.mdl.module.mdl.dal.dataobject.user;

import com.strange.mdl.framework.common.enums.TerminalEnum;
import lombok.*;

import java.time.LocalDateTime;
import java.util.*;
import com.baomidou.mybatisplus.annotation.*;
import com.strange.mdl.framework.mybatis.core.dataobject.BaseDO;

/**
 * 用户 DO
 *
 * @author 芋道源码
 */
@TableName("mdl_user")
@KeySequence("mdl_user_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class MdlUserDO extends BaseDO {

    /**
     * 用户唯一ID
     */
    @TableId
    private Long id;
    /**
     * 微信开放ID
     */
    private String openid;
    /**
     * 微信UnionID（用于多应用用户统一）
     */
    private String unionid;
    /**
     * 微信登录会话密钥
     */
    private String sessionKey;

    /**
     * 注册 IP
     */
    private String registerIp;
    /**
     * 注册终端
     * 枚举 {@link TerminalEnum}
     */
    private Integer registerTerminal;
    /**
     * 最后登录IP
     */
    private String loginIp;
    /**
     * 最后登录时间
     */
    private Date loginDate;
    /**
     * 用户名
     */
    private String username;
    /**
     * 法号
     */
    private String dharmaName;
    /**
     * 密码（建议加密存储）
     */
    private String password;
    /**
     * 手机号
     */
    private String phone;
    /**
     * 是否激活：0未激活，1激活
     *
     * 枚举 {@link TODO system_user_sex 对应的类}
     */
    private Integer isActive;
    /**
     * 是否是会员：0不是，1是
     *
     * 枚举 {@link TODO system_user_sex 对应的类}
     */
    private Integer isMember;
    /**
     * 会员等级（1:普通会员, 2:黄金会员, 3:白金会员等）
     *
     * 枚举 {@link TODO member_experience_biz_type 对应的类}
     */
    private Integer memberLevel;
    /**
     * 生日时间
     */
    private Date birthDate;
    /**
     * 省份
     */
    private String province;
    /**
     * 城市
     */
    private String city;
    /**
     * 区县
     */
    private String district;
    /**
     * 详细地址
     */
    private String detailAddress;
    /**
     * 性别:0男，1女
     *
     * 枚举 {@link TODO system_user_sex 对应的类}
     */
    private Integer sex;
    /**
     * 头像
     */
    private String avatarUrl;
    /**
     * 福报
     */
    private Integer totalMerit;



}